package com.jingyi.system.service;

import com.jingyi.common.core.domain.entity.WxUserMedicalRecord;

import java.util.List;

/**
 * 微信患者医疗记录 业务层
 *
 * @author jingyi
 */
public interface IWxUserMedicalRecordService {
    /**
     * 根据条件分页查询微信患者医疗记录
     *
     * @param record 微信患者医疗记录
     * @return 微信患者医疗记录集合信息
     */
    public List<WxUserMedicalRecord> selectRecordList(WxUserMedicalRecord record);

    /**
     * 通过微信患者ID查询微信患者医疗记录
     *
     * @param userId 微信患者ID
     * @return
     */
    public List<WxUserMedicalRecord> selectRecordByUserId(Long userId);

    /**
     * 通过微信患者ID和状态查询微信患者医疗记录
     * @param userId 微信患者ID
     * @param state 状态
     * @return
     */
    public WxUserMedicalRecord selectRecordByUserIdAndState(Long userId,String state);


    /**
     * 查询所有微信患者医疗记录
     *
     * @return 微信患者医疗记录列表
     */
    public List<WxUserMedicalRecord> selectRecordAll();


    /**
     * 通过记录ID查询微信患者医疗记录
     *
     * @param recordId 微信患者医疗记录ID
     * @return 微信患者医疗记录对象信息
     */
    public WxUserMedicalRecord selectRecordById(Long recordId);

    /**
     * 审核微信患者医疗记录
     * @param record 微信患者医疗记录对象信息
     * @return
     */
    public int auditRecordInfo(WxUserMedicalRecord record);

    /**
     * 处理微信患者医疗记录
     * @param record 微信患者医疗记录对象信息
     * @return
     */
    public int processRecordInfo(WxUserMedicalRecord record);

    /**
     * 修改微信患者医疗记录信息
     *
     * @param record 微信患者医疗记录信息
     * @return 结果
     */
    public int updateRecord(WxUserMedicalRecord record);

    /**
     * 新增微信患者医疗记录信息
     *
     * @param record 微信患者医疗记录信息
     * @return 结果
     */
    public int insertRecord(WxUserMedicalRecord record);

    /**
     * 通过微信患者医疗记录ID删除患者
     *
     * @param recordId 微信患者医疗记录ID
     * @return 结果
     */
    public int deleteRecordById(Long recordId);

    /**
     * 批量删除微信患者医疗记录信息
     *
     * @param recordIds 需要删除的微信患者医疗记录ID
     * @return 结果
     */
    public int deleteRecordByIds(Long[] recordIds);

    /**
     * 通过根据条件查询患者医疗记录信息
     *
     * @param record 患者医疗记录信息
     * @return 结果
     */
    public WxUserMedicalRecord getByMap(WxUserMedicalRecord record);
}
